// 导入 来定义验证规则的包
const { not } = require("joi")
const joi = require("joi")



// alphanum()是定义字符串只能为26个英文字母以及1~9的数字组成
// required() 该框为必填项
// pattern()正则表达式
const username = joi.string().min(1).max(10).required()
const password = joi.string().pattern(/^[\S]{6,12}$/).required()

// integer()整数型数字
const id = joi.number().integer().min(1).required()
const nickname = joi.string().required()
const email = joi.string().email().required()
    // 定义验证注册和登录表单的规则对象
exports.reg_login_schema = {
    // 用body:是因为想对body里面的值进行验证 
    body: {
        username,
        password
    },
}

// 定义验证更新信息的规则
exports.update_userinfo_schema = {
    body: {
        id,
        nickname,
        email,
    },
}

// 验证 更新密码
exports.update_password_schema = {
    body: {
        oldPwd: password,
        newPwd: joi.not(joi.ref('oldPwd')).concat(password),
    }
}

// 验证 更新头像
exports.update_avatar_schema = {
    body: {
        avatar: joi.string().dataUri().required()
    }
}